package com.candy.control;

import com.candy.service.UserInfoManagerService;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;

@WebServlet("/addUserInfo")
@MultipartConfig(maxFileSize = 5*1024*1024)
public class UserInfoAddServlet extends HttpServlet {
    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //        设置字符集，处理中文乱码问题
        req.setCharacterEncoding("UTF-8");
        resp.setCharacterEncoding("UTF-8");
//        =======================图片上传================================
//      获取前台传进来的图片信息
       Part img= req.getPart("file");
//       进行日期格式化的处理为年月日
        SimpleDateFormat sdt=new SimpleDateFormat("yyyy/MM/dd");
//        准备文件夹(按照图片上传的日期)
        String format=sdt.format(new Date());
//        创建文件夹（指定图片上传的路径+当前时间进行创建）
        File floder=new File("E:\\img",format);
//        若该文件不存在，则进行批量创建
        if(!floder.exists()){
            floder.mkdirs();
        }
//        拼接文件名字
        String oldName=  img.getSubmittedFileName();   //获取原文件的名字
//        利用UUID生成一个随机的UUID码，与原文件的后缀进行拼接，形成一个新的文件名字，保证唯一不重复
        String filename= UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."));
//        创建文件对象
        File file02=new File(floder,filename);
//        将图片上传
        img.write(file02.getAbsolutePath());
//        将上传后的图片路径进行保存
        String imgSrc="http://localhost:8086/img/"+format+"/"+filename;






        //        调用业务逻辑处理层
        UserInfoManagerService usermanager=new UserInfoManagerService();
        usermanager.addUserInfo(req.getParameter("username"),
                req.getParameter("userpwd"),
                req.getParameter("useraddress"),
                req.getParameter("usertel"),
                imgSrc);
//        新增成功后，跳转至查询页面查看结果
        req.getRequestDispatcher("WEB-INF/userManager/userInfo.jsp").forward(req,resp);


    }
}
